package com.server.entity;

import com.alibaba.fastjson.annotation.JSONField;

import java.util.Date;
import java.util.StringJoiner;

/**
 * The type Movies to type.
 *
 * @author user
 */
public class MoviesToType {
    private Integer moviesToTypeId;

    private Integer moviesInfo;

    private Integer moviesTypeInfo;

    @JSONField(format="yyyy-MM-dd HH:mm:ss")
    private Date moviesTypeCreate;

    private Boolean moviesToShow;

    /**
     * Instantiates a new Movies to type.
     *
     * @param moviesInfo       the movies info
     * @param moviesTypeInfo   the movies type info
     * @param moviesTypeCreate the movies type create
     * @param moviesToShow     the movies to show
     */
    public MoviesToType(Integer moviesInfo, Integer moviesTypeInfo, Date moviesTypeCreate, Boolean moviesToShow) {
        this.moviesInfo = moviesInfo;
        this.moviesTypeInfo = moviesTypeInfo;
        this.moviesTypeCreate = moviesTypeCreate;
        this.moviesToShow = moviesToShow;
    }

    /**
     * Instantiates a new Movies to type.
     */
    public MoviesToType() {
    }

    /**
     * Gets movies to type id.
     *
     * @return the movies to type id
     */
    public Integer getMoviesToTypeId() {
        return moviesToTypeId;
    }

    /**
     * Sets movies to type id.
     *
     * @param moviesToTypeId the movies to type id
     */
    public void setMoviesToTypeId(Integer moviesToTypeId) {
        this.moviesToTypeId = moviesToTypeId;
    }

    /**
     * Gets movies info.
     *
     * @return the movies info
     */
    public Integer getMoviesInfo() {
        return moviesInfo;
    }

    /**
     * Sets movies info.
     *
     * @param moviesInfo the movies info
     */
    public void setMoviesInfo(Integer moviesInfo) {
        this.moviesInfo = moviesInfo;
    }

    /**
     * Gets movies type info.
     *
     * @return the movies type info
     */
    public Integer getMoviesTypeInfo() {
        return moviesTypeInfo;
    }

    /**
     * Sets movies type info.
     *
     * @param moviesTypeInfo the movies type info
     */
    public void setMoviesTypeInfo(Integer moviesTypeInfo) {
        this.moviesTypeInfo = moviesTypeInfo;
    }

    /**
     * Gets movies type create.
     *
     * @return the movies type create
     */
    public Date getMoviesTypeCreate() {
        return moviesTypeCreate;
    }

    /**
     * Sets movies type create.
     *
     * @param moviesTypeCreate the movies type create
     */
    public void setMoviesTypeCreate(Date moviesTypeCreate) {
        this.moviesTypeCreate = moviesTypeCreate;
    }

    /**
     * Gets movies to show.
     *
     * @return the movies to show
     */
    public Boolean getMoviesToShow() {
        return moviesToShow;
    }

    /**
     * Sets movies to show.
     *
     * @param moviesToShow the movies to show
     */
    public void setMoviesToShow(Boolean moviesToShow) {
        this.moviesToShow = moviesToShow;
    }

    @Override
    public String toString() {
        return new StringJoiner(", ",  "[", "]")
                .add("moviesToTypeId=" + moviesToTypeId)
                .add("moviesInfo=" + moviesInfo)
                .add("moviesTypeInfo=" + moviesTypeInfo)
                .add("moviesTypeCreate=" + moviesTypeCreate)
                .add("moviesToShow=" + moviesToShow)
                .toString();
    }

}